#ifndef CORE_MATERIAL_H
#define CORE_MATERIAL_H
#include "Ray.h"
namespace RayTracer
{
	struct HitRecord;
	// Base Material
	class Material 
	{
	public:
		virtual bool Scatter(const Ray& r_in, const HitRecord& rec, 
			vec3& attenuation, Ray& scattered) const = 0;

		virtual vec3 Emitted(float u, float v, const vec3& p) const {
			return vec3(0, 0, 0);
		}
	};

}
#endif // !CORE_MATERIAL_H
